本文是何凯明团队发表,ECCV 2018最佳论文提名奖。在训练中我们为了规范隐层输入的分布避免Internal Covariate Shift问题使用Batch Normalization的方式解决(但在之后的论文被证明Batch Norm没有解决Internal Covariate Shift问题,而是优化问题的解空间更加平滑易于收敛)。Group Normalization是Batch Normalization的改进版,主要克服的是Batch Norm在过小的批量训练上误差会增大的弊端。
Group Normalization
论文地址
1、Background
Batch Norm的来源在于之前的研究表明如果在图像处理中对输入图像进行白化操作(即对输入数据分布变换到0均值,单位方差的正态分布),神经网络会较快收敛,于是推论:图像是深度神经网络的输入层,做白化能加快收敛,那么其实对于神经网络来说,其中某个隐层的神经元是下一层的输入,即如果我们将神经网络的隐层分割开来,每一个隐层都是输入层,可以对其逆向白化操作。
Batch Norm的基本思想其实相当直观,因为深层神经网络在做非线性变换前的激活输入值随着网络加深或者训练过程中,其分布逐渐发生变动,之所以训练收敛慢,一般是整体分布逐渐往非线性函数的取值区间的上下限两端靠近(对于Sigmoid函数来说,意味着激活输入值WU+B是大的负值或正值),所以这导致反向传播时低层神经网络的梯度消失,这也是在训练时深层神经网络收敛逐渐变慢的原因。Batch Norm实现了将偏移的分布变换为比较标准的分布,使得输入值能落在非线性函数对输入敏感的区域,让梯度变大,加速深度学习。最后Batch Norm还有一步操作(y=scale*x+shift),每个神经元增加了两个参数,通过训练学习得到。可能原因是经过Batch Norm后非线性获得下降,通过超参找到一个线性和非线性合适的平衡点。
然而Batch Norm的均值和方差是在一个mini-batch内计算的,有一定的随机性,显然随机性会受mini-batch的大小影响。如图1所示在ImageNet数据集上使用ResNet-50训练Batch Norm和Group Norm方法的错误率随batch size的变化。
2、Group Norm
然而因为受显存大小限制,处理图像或视频等领域问题时,很难使batch size很大。何恺明团队提出Group Norm作为替代Batch Norm的方法。他们注意到许多经典的经典的特征(如SIFT和HOG)使group-wise特征,即特征分组和组内正则化。于是本文提出将channels分组并在组内进行特征的正则化,而不是将每个通道正则化。我们可以从图一中看出即使在batch size为2的时候,Group Norm方式的错误率依然能比Batch Norm低10.6%。图2所示的就是各种正则化的方法,N是batch轴,C是channel轴,(H,W)空间的范围。蓝色方块表示的是通过聚合这些方块的值来使用相同的均值和方差进行正则化。Group Normalization定义如下,
G是组数,是一个超参默认为32;C/G是每组中通道的个数;$\left \lfloor · \right \rfloor$是向下取整操作,$\left \lfloor \frac {k_{C}}{C/G} \right \rfloor = \left \lfloor \frac {i_{C}}{C/G} \right \rfloor$意思是索引i和k是在同一组中的通道,并假设每组通道沿C轴按顺序存储。
Group Norm沿着(H,W)轴和组内通道计算$\mu$和$\sigma$,图示中分组数为2。
3、Implementation
|
|
文中给出了基于TensorFlow的实现。
4、Experiments
论文在ImageNet数据集上进行了图片分类实验。图3比较了在相同batch size(32)的情况下测试集和验证集的错误率,训练模型是ResNet-50。
图4展示了Batch Norm和Group Norm在batch size是32、16、8、4和2的ResNet-50验证集的错误率,而图1是对两种方法ResNet-50在ImageNet验证集错误率的可视化。
图5展示了展示了VGG-16第五个卷积块的第三个卷积层输出的特征分布演变,右侧的表格展示了在ImageNet验证集的错误率,batch size是32。
图6展示了不同组的划分在ImageNet数据集ResNet50的验证机错误率。顶端是组的数量,当组数为1时即与Layer Norm相同;底端是确定组内通道数量,当通道数等于1时即与Instance Norm相同。
在COCO数据集上进行了目标检测和分割实验.
文中以Mask R-CNN进行比较,需要注意的是:使用ImageNet的与训练网络时,要frozen Batch Norm层,否则结果反而会恶化,而Group Norm不会出现这个问题。保持特征网络的Batch Norm冻结,只在Head部分使用Group Norm会提升效果,但是如果将backbone也替换为Group Norm训练效果会更好。图7所示在COCO2017数据集上使用ResNet-50 C4的检测和分割消融结果。BN^*^指Batch Norm冻结。
其次使用Batch Norm的准确率模型性能已经无法随着迭代次数增加,而Group Norm可能会随着迭代的增加性能有一定提升。图8所示在COCO2017数据集上使用ResNet-50 FPN和一个4conv1fc bounding box head的检测和分割消融结果。图9结果中Group Norm被应用与backbone、box head和mask head上。
最后不适用于训练模型,Group Norm仍然可以达到compared的性能,但是BN会出现结果的恶化。本文也提供了实验代码。
在Kinetics数据集上进行视频分类实验,使用ResNet-50 I3D,如图10所示。
5、Switchable Normalization
对于现有Batch Norm、Layer Norm、Instance Norm、Group Norm,针对不同任务使用合适的正则化方式。但我们不难看出这些结构都采用同一种规范化形式,那么是否存在一个操作能够统一这些规范化技术呢,香港中文大学多媒体实验室和商汤科技研究院的研究者从这点出发,提出了Switchable Normalization【2】来解决这个问题,并开源了代码。
假设每一个像素表示为$h_{ncij}$,$n,c,i,j$为上述四个维度的下标。Switchable Norm对$h_{ncij}$进行归一化操作,并输出归一化后的像素值$\hat{h}_{ncij}$。Switchable Norm的计算公式如下:
上述定义与Batch Norm、Instance Norm和Layer Norm的定义相似。他们都学习了缩放系数$\gamma$和偏移系数$\beta$。与其之前正则化方法的主要区别在于SN的统计信息(即均值$\mu$和方差$\sigma^{2}$),不像Instance Norm只在一个通道中计算的,也不像Layer Norm只是在一个层中计算,而是在一个集合$\Omega$当中选择合适的归一化方法来加权平均的。这个集合定义为$\Omega = bn,in,ln$。$\omega _{k}$和${\omega}’_{k}$则为相应统计量对应的权重系数。在Switchable中,均值的加权系数$\omega_{k}$的计算方法如下:
$\lambda_{k}$为三个维度统计量对应的参数。为了与网络参数(如卷积核)区分,这些参数称为控制参数。这些控制参数均初始为1,在反向传播时进行优化学习。该计算公式即利用softmax函数对优化参数$\lambda_{k}$进行归一化,计算统计量最终的加权系数$w_{k}$ 。因此,所有加权系数$w_{k}$ 的和为1,每个加权系数$w_{k}$的值都在0和1之间。类似的,${w}’_{k}$可以由另外的三个参数${\lambda}’_{bn}$ ,${\lambda}’_{in}$,和${\lambda}’_{ln}$计算得出,且$\Sigma_{k\in\Omega}w_k^\prime=1$ , $\forall w_k^\prime\in[0,1]$。因此,相对于BN,SN只额外增加了 $\lambda_{bn}$ ,$\lambda_{in}$,$\lambda_{ln}$和 $\lambda’_{bn}$ ,$\lambda’_{in}$,$\lambda’_{ln}$6个控制参数。
6、How does batch normalization help optimization?
Batch Norm目前被广泛采用,也被认为是减少了“Internal Covariate Shift”。但是在2018年的一篇论文【1】证明了Batch Norm带来的增益于Internal Covariate Shift无关,在某种意义上Batch Normalization甚至可能不会减少Internal Covariate Shift。相反,作者发现了Batch Norm对训练过程有着根本的影响:它能使优化问题的解空间更加平滑,而这种平滑性确保了梯度更具有预测性和稳定性,因此可以使用更大范围的学习速率并获得更快的网络收敛。
参考论文
【1】How Does Batch Norm Help Optimization
【2】DIFFERENTIABLE LEARNING-TO-NORMALIZE VIA SWITCHABLE NORMALIZATION